package io.datajek.springbasics.movierecommendersystem.lesson11;

import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
//@Qualifier("CBF")
public class RecommenderImplementation {

	@PreDestroy
	public void preDestroy(){
//		用于清理的代码
		logger.info("In RecommenderImplementation preDestroy method");
	}

	private Logger logger = LoggerFactory.getLogger(this.getClass());
	//使用过滤器接口选择过滤器

	private Filter filter;
	@Autowired
	public void setFilter(Filter filter) {
		logger.info("In RecommenderImplementation setter method..dependency injection");
		this.filter = filter;
	}

	@PostConstruct
	public void postConstruct(){
//		初始化代码放这里
		logger.info("In RecommenderImplementation postConstruct method");
	}
	
//	public Recommenderlmplementation(Filter filter) {
//		super();
//		this.contentBasedFilter = filter;
//	}
	//使用过滤器来获得推荐
	
	public String[] recommendMovies (String movie) {
		//使用基于内容的过滤器来寻找类似的电影
		System.out.println("正在使用的过滤器的名称:"+filter+"\n");
		//返回结果
		String[] results=filter.getRecommendations("Finding Dory");
		return results;
	}

}
